;*********************************************************************
; char.asm
; Ejercicio que lee un caracter de teclado y lo imprime por pantalla
;
;*********************************************************************
.model small
.stack
.data
char     db  ?
msgIng  db  "Ingrese un caracter alfanumerico: $"
msgMues db  "Ud ingreso: $"

.code
start:
	mov	ax,@data		;ds <-- dir del segmento de datos
	mov	ds,ax

	lea	dx,msgIng	;dx <-- offset de 'msgIng' dento del segmento de datos
	mov	ah,9		; servicio 9 para int 21h -- Impmrimir msg en pantalla
	int	21h

	mov	ah,8h		; servicio 8 para int 21h -- Lee caracter de teclado, lo deja en 'al'
	int	21h

	mov	char,al		; guardo en char el ascii (EN  LA SALIDA SGTE POR PANTALLA ME QUEDA EN 'al' EL $

	lea	dx,msgMues	;dx <-- offset de 'msgMues' dento del segmento de datos
	mov	ah,9		; servicio 9 para int 21h -- Impmrimir msg en pantalla
	int	21h

	mov	dl,char		; dl <-- caracter ascii a imprimir
	mov	ah,2		; servicio 2 para int 21h -- Imprime un caracter, que esta en 'dl'
	int	21h

	mov	ax,4c00h
	int	21h
end start